三大类:
数值,字符串,日期时间
数值
--
### 整数,int
int 4个字节。
还有占用其他空间的整型:
tinyint 1
smallint 2
mediumint 3
int 4
bigint 8

如何选择:
通过业务逻辑判断!常见的是 tinyint,int!
mysql的整型,有php整型不具备的概念:
one,无符号
只能表示整数或0。那么最大的整数会很大!
默认是 有符号!可通过 整型的 unsigned选项,int unsigned 设置整型无符号


无符号的:

two,显示宽度
显示宽度,不决定整型的范围。而决定 在显示出该数之后,如果宽度不够,则采用前导零不齐!此时需要 额外的属性 zerofill 来设置!

可见 无符号,默认的显示宽度是 10,因此全都使用0来补齐。
可以设置整型的显示宽度!在 int(M)即可!

255个宽度就可以了!
注意,如果超出了宽度范围,则直接显示!

额外的,mysql中,没有 布尔型!
但是 存在 Boolean这个关键字,表示 tinyint(1)

典型的,0表示假,1表示真!
### 浮点数,float,double
单精度,float,4个字节
双精度,double,8个字节

双精度:

在定义浮点数,典型的需要指明其 有效位数,和 小数位数
float(M,D)
double(M,D)
M:所有的有效位数
D:其中的小数位数
以上两个值,决定一个浮点数的有效范围!

典型的浮点数
float(10, 2);
99999999.99
注意,浮点数,近似值,不是精确值!如果一个数,很大,接近最大值,可能出错!

一旦出现精确数据(小数)需要保存可以使用,下面的定点数
### 定点数,decimal
小数点是固定的!
decmal,与定义浮点数一致,也有 有效位数与小数位数的概念:
decimal(M,D)

不是 数的形式存储,类似于字符串的形式!

注意,关于小数:
1,支持 科学计数法

2,同样支持 unsigned,无符号!
3,同样支持 zerofill,

TIP:小数的M,即表示有效范围,也表示显示宽度!(而整数的M只表示显示宽度)